<html>
<head><meta charset="utf-8"><title>alexreg - nmatsakis sync · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html">alexreg - nmatsakis sync</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="155096209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096209">(Jan 14 2019 at 16:34)</a>:</h4>
<p>Hey <span class="user-mention" data-user-id="124069">@Alexander Regueiro</span> — so first thing I wanted to ask is what's on your mind. Topics I associate with you include: =)</p>
<ul>
<li>traits alias PR, </li>
<li>your pending PR,</li>
<li>trait objects,</li>
<li><code>impl trait</code> in let bindings</li>
</ul>



<a name="155096245"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096245" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096245">(Jan 14 2019 at 16:34)</a>:</h4>
<p>yep</p>



<a name="155096255"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096255" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096255">(Jan 14 2019 at 16:35)</a>:</h4>
<p>definitely those</p>



<a name="155096269"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096269" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096269">(Jan 14 2019 at 16:35)</a>:</h4>
<p>i'm game to talk about any of those but maybe the trait alias PR would be good to start just because it'd be good to see that finished up</p>



<a name="155096272"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096272" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096272">(Jan 14 2019 at 16:35)</a>:</h4>
<p>also, associated_types_in_bindings briefly</p>



<a name="155096277"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096277" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096277">(Jan 14 2019 at 16:35)</a>:</h4>
<p>in particular the remaining bit had to do with trait objects</p>



<a name="155096289"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096289" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096289">(Jan 14 2019 at 16:35)</a>:</h4>
<p>and possibly impl Trait lifetime constraints if we have time</p>



<a name="155096292"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096292" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096292">(Jan 14 2019 at 16:35)</a>:</h4>
<p>(and trait aliases)</p>



<a name="155096295"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096295" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096295">(Jan 14 2019 at 16:35)</a>:</h4>
<p>okay</p>



<a name="155096302"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096302" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096302">(Jan 14 2019 at 16:35)</a>:</h4>
<p>mind if I jump in?</p>



<a name="155096307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096307">(Jan 14 2019 at 16:35)</a>:</h4>
<p>my rebase PR landed, so the cross-crate stuff landed</p>



<a name="155096313"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096313" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096313">(Jan 14 2019 at 16:35)</a>:</h4>
<p><span class="user-mention" data-user-id="126931">@centril</span> maybe?</p>



<a name="155096316"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096316" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096316">(Jan 14 2019 at 16:35)</a>:</h4>
<p>depends what you want to say :P</p>



<a name="155096368"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096368" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096368">(Jan 14 2019 at 16:36)</a>:</h4>
<p>:P</p>



<a name="155096380"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096380" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096380">(Jan 14 2019 at 16:36)</a>:</h4>
<p>(go ahead)</p>



<a name="155096384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096384">(Jan 14 2019 at 16:36)</a>:</h4>
<p>(I'd just like to make sure we stay focused, is all)</p>



<a name="155096385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096385">(Jan 14 2019 at 16:36)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I saw, that's good. you're still working on rebasing the duplicate non-auto trait detection though right? e.g. <code>TraitAliasExpander</code>, etc.?</p>



<a name="155096409"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096409" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096409">(Jan 14 2019 at 16:37)</a>:</h4>
<p>but if it's germane to the topic, go for it :)</p>



<a name="155096410"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096410" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096410">(Jan 14 2019 at 16:37)</a>:</h4>
<p><span class="user-mention" data-user-id="126931">@centril</span> sure, although maybe semi-passively, just because I have limited time with Niko? ;-)</p>



<a name="155096411"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096411" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096411">(Jan 14 2019 at 16:37)</a>:</h4>
<p><span class="user-mention" data-user-id="124069">@Alexander Regueiro</span> yeah, the trait alias expander itself seems fine and rebases easily enough, the question is more the code that <em>applies</em> it and how to work on <em>that</em></p>



<a name="155096420"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096420" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096420">(Jan 14 2019 at 16:37)</a>:</h4>
<p><span class="user-mention" data-user-id="126931">@centril</span> what was on your mind?</p>



<a name="155096421"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096421" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096421">(Jan 14 2019 at 16:37)</a>:</h4>
<p>I would said in terms of prioritization of work, trait aliases are not the best thing to work on if you want to ship</p>



<a name="155096444"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096444" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096444">(Jan 14 2019 at 16:37)</a>:</h4>
<p>re. <code>associated_type_bounds</code>, I'm going to write up some tests for <span class="user-mention" data-user-id="124069">@Alexander Regueiro</span></p>



<a name="155096445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096445">(Jan 14 2019 at 16:37)</a>:</h4>
<p>I didn't look at arielby's PR that removed principal traits to be honest.</p>



<a name="155096453"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096453" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096453">(Jan 14 2019 at 16:37)</a>:</h4>
<p>but I've been swamped, but I'll get to it (I promise)</p>



<a name="155096506"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096506" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096506">(Jan 14 2019 at 16:38)</a>:</h4>
<blockquote>
<p>I would said in terms of prioritization of work, trait aliases are not the best thing to work on if you want to ship</p>
</blockquote>
<p>Because of some pending concerns re: stabilization? I am mostly concerned with having broken, inconsistent stuff in nightly. I'd like to get some variant of the work that <span class="user-mention" data-user-id="124069">@Alexander Regueiro</span> already did landed.</p>



<a name="155096507"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096507" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096507">(Jan 14 2019 at 16:38)</a>:</h4>
<p>sure</p>



<a name="155096510"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096510" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096510">(Jan 14 2019 at 16:38)</a>:</h4>
<p><code>associated_types_in_bindings</code> &lt;-- which one was this?</p>



<a name="155096522"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096522" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096522">(Jan 14 2019 at 16:38)</a>:</h4>
<p>That said, the problem is tricky, it might make sense to hold off if we want</p>



<a name="155096558"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096558" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096558">(Jan 14 2019 at 16:39)</a>:</h4>
<blockquote>
<p>Because of some pending concerns re: stabilization?</p>
</blockquote>
<p>Right, if the purpose is to ship, then energy is better spent elsewhere.</p>
<blockquote>
<p>I am mostly concerned with having broken, inconsistent stuff in nightly. I'd like to get some variant of the work that @Alexander Regueiro already did landed.</p>
</blockquote>
<p>If the purpose is this, fire on all engines away! =)</p>



<a name="155096565"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096565" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096565">(Jan 14 2019 at 16:39)</a>:</h4>
<p>to be fair, trait aliases are working nicely right now, they just unfortunately permit multiple-trait objects, which is bad</p>



<a name="155096590"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096590" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096590">(Jan 14 2019 at 16:39)</a>:</h4>
<p>I leave stabilisation concerns to others to be honest (even if I sometimes do stabilisation PRs). I'm more worried about getting things working on nightly.</p>



<a name="155096651"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096651" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096651">(Jan 14 2019 at 16:40)</a>:</h4>
<p>So, what <span class="user-mention" data-user-id="126804">@Ariel Ben-Yehuda</span>'s PR did is not that important</p>



<a name="155096654"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096654" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096654">(Jan 14 2019 at 16:40)</a>:</h4>
<p>That is, I don't think it creates the challenge</p>



<a name="155096658"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096658" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096658">(Jan 14 2019 at 16:40)</a>:</h4>
<p>okay good</p>



<a name="155096671"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096671" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096671">(Jan 14 2019 at 16:40)</a>:</h4>
<p>The basic idea was that a trait object can have <strong>no principal</strong></p>



<a name="155096683"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096683" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096683">(Jan 14 2019 at 16:41)</a>:</h4>
<p>which is great</p>



<a name="155096702"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096702" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096702">(Jan 14 2019 at 16:41)</a>:</h4>
<p>kind of segues into multi-trait objects eh?</p>



<a name="155096708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096708">(Jan 14 2019 at 16:41)</a>:</h4>
<p>And auto traits are never principal</p>



<a name="155096709"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096709" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096709">(Jan 14 2019 at 16:41)</a>:</h4>
<p>right</p>



<a name="155096710"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096710" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096710">(Jan 14 2019 at 16:41)</a>:</h4>
<p>So, what I was a bit unsure about</p>



<a name="155096711"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096711" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096711">(Jan 14 2019 at 16:41)</a>:</h4>
<p>Yes</p>



<a name="155096712"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096712" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096712">(Jan 14 2019 at 16:41)</a>:</h4>
<p><del>So if you have <code>dyn Send + Sync</code> that has no principal trait</del></p>



<a name="155096717"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096717" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096717">(Jan 14 2019 at 16:41)</a>:</h4>
<p>So that is one ordering question</p>



<a name="155096756"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096756" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096756">(Jan 14 2019 at 16:42)</a>:</h4>
<p>In particular we may find it makes sense to pursue multi-trait objects a bit first</p>



<a name="155096763"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096763" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096763">(Jan 14 2019 at 16:42)</a>:</h4>
<p>(zulip is having sync problems on my end)</p>



<a name="155096785"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096785" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096785">(Jan 14 2019 at 16:42)</a>:</h4>
<p>(delays)</p>



<a name="155096791"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096791" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096791">(Jan 14 2019 at 16:42)</a>:</h4>
<p>yes, which is solved by arielyby's PR I think</p>



<a name="155096801"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096801" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096801">(Jan 14 2019 at 16:42)</a>:</h4>
<blockquote>
<p>In particular we may find it makes sense to pursue multi-trait objects a bit first</p>
</blockquote>
<p><span class="emoji emoji-1f4af" title="100">:100:</span></p>



<a name="155096802"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096802" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096802">(Jan 14 2019 at 16:42)</a>:</h4>
<p>What is solved?</p>



<a name="155096803"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096803" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096803">(Jan 14 2019 at 16:42)</a>:</h4>
<p>ordering of auto traits</p>



<a name="155096806"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096806" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096806">(Jan 14 2019 at 16:42)</a>:</h4>
<p>Ah</p>



<a name="155096808"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096808" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096808">(Jan 14 2019 at 16:42)</a>:</h4>
<p>Yes</p>



<a name="155096812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096812">(Jan 14 2019 at 16:42)</a>:</h4>
<p>at least, once it becomes a hard error, it is</p>



<a name="155096817"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096817" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096817">(Jan 14 2019 at 16:42)</a>:</h4>
<p>which I think it can in the next cycle</p>



<a name="155096820"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096820" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096820">(Jan 14 2019 at 16:42)</a>:</h4>
<p>Well, the whole problem was that sometimes we would consider an auto trait to be principal</p>



<a name="155096826"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096826" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096826">(Jan 14 2019 at 16:43)</a>:</h4>
<p>and we only detected conflicts within the auto traits</p>



<a name="155096838"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096838" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096838">(Jan 14 2019 at 16:43)</a>:</h4>
<p>Actually I think it is a hard erorr now</p>



<a name="155096840"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096840" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096840">(Jan 14 2019 at 16:43)</a>:</h4>
<p>we really want to remove the concept of principal traits entirely... but that will probably only be done with multi-trait objects</p>



<a name="155096842"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096842" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096842">(Jan 14 2019 at 16:43)</a>:</h4>
<p>but we special-cased the coherence conflict</p>



<a name="155096849"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096849" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096849">(Jan 14 2019 at 16:43)</a>:</h4>
<p>yes that's what I mean.</p>



<a name="155096852"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096852" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096852">(Jan 14 2019 at 16:43)</a>:</h4>
<p>and <em>that</em> we can make a hard error at our liesure</p>



<a name="155096854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096854">(Jan 14 2019 at 16:43)</a>:</h4>
<p>mhm</p>



<a name="155096864"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096864" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096864">(Jan 14 2019 at 16:43)</a>:</h4>
<p>So, the tricky bit that I was trying to think through.</p>



<a name="155096914"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096914" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096914">(Jan 14 2019 at 16:44)</a>:</h4>
<p>The current logic takes the first thing in the list and processes it. This processes produces both a trait reference and a list of "associated type bindings"</p>



<a name="155096951"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096951" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096951">(Jan 14 2019 at 16:44)</a>:</h4>
<p>right</p>



<a name="155096955"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096955" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096955">(Jan 14 2019 at 16:44)</a>:</h4>
<p>It then processes the remaining items: the list of associated type bindings is thrown away, and we check that each of those remaining items are only auto traits. If that is true, it implies that there were no associated type bindings (or there is a separate  error)</p>



<a name="155096957"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096957" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096957">(Jan 14 2019 at 16:44)</a>:</h4>
<p>i.e. projections</p>



<a name="155096961"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096961" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096961">(Jan 14 2019 at 16:44)</a>:</h4>
<p>Right</p>



<a name="155096988"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155096988" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155096988">(Jan 14 2019 at 16:45)</a>:</h4>
<blockquote>
<p>If that is true, it implies that there were no associated type bindings (or there is a separate  error)</p>
</blockquote>
<p>(because auto traits cannot have associated types)</p>



<a name="155097005"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097005" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097005">(Jan 14 2019 at 16:45)</a>:</h4>
<p>yeah... the way I did this in my former PR was to expand trait aliases <em>before</em> checking for extra non-auto traits.</p>



<a name="155097016"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097016" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097016">(Jan 14 2019 at 16:45)</a>:</h4>
<p>but I was still taking the future (unexpanded) trait as principal</p>



<a name="155097020"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097020" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097020">(Jan 14 2019 at 16:45)</a>:</h4>
<p>Right, but that gets a bit tricky now around the associated type bindings</p>



<a name="155097023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097023">(Jan 14 2019 at 16:45)</a>:</h4>
<p>which may be non-ideal</p>



<a name="155097067"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097067" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097067">(Jan 14 2019 at 16:46)</a>:</h4>
<p>yes...</p>



<a name="155097074"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097074" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097074">(Jan 14 2019 at 16:46)</a>:</h4>
<p>so I was debating a few options</p>



<a name="155097082"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097082" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097082">(Jan 14 2019 at 16:46)</a>:</h4>
<p>I'm actually not sure how tricky said bindings are</p>



<a name="155097090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097090">(Jan 14 2019 at 16:46)</a>:</h4>
<p>that is, we could just expand all the things</p>



<a name="155097093"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097093" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097093">(Jan 14 2019 at 16:46)</a>:</h4>
<p>although I think we already handle associated type bindings from trait aliases correctly?</p>



<a name="155097096"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097096" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097096">(Jan 14 2019 at 16:46)</a>:</h4>
<p>sort if out</p>



<a name="155097101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097101">(Jan 14 2019 at 16:46)</a>:</h4>
<p>I remember fretting over that and got it working in the end</p>



<a name="155097103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097103">(Jan 14 2019 at 16:46)</a>:</h4>
<p>there should be at most one non-auto trait</p>



<a name="155097105"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097105" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097105">(Jan 14 2019 at 16:46)</a>:</h4>
<p>and then any number of auto traits</p>



<a name="155097113"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097113" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097113">(Jan 14 2019 at 16:46)</a>:</h4>
<p>and all the bindings must therefore (by the same logic) come from that non-auto-trait</p>



<a name="155097134"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097134" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097134">(Jan 14 2019 at 16:47)</a>:</h4>
<blockquote>
<p>I remember fretting over that and got it working in the end</p>
</blockquote>
<p>I think it should work, yes.</p>



<a name="155097142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097142">(Jan 14 2019 at 16:47)</a>:</h4>
<p>That is, I think it should just fall out from the existing supertrait handling</p>



<a name="155097156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097156">(Jan 14 2019 at 16:47)</a>:</h4>
<p>Hm maybe this is not so tricky</p>



<a name="155097159"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097159" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097159">(Jan 14 2019 at 16:47)</a>:</h4>
<p>yes</p>



<a name="155097174"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097174" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097174">(Jan 14 2019 at 16:47)</a>:</h4>
<p>It doesn't seem to me that there is much reason to special case that "first predicate"</p>



<a name="155097184"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097184" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097184">(Jan 14 2019 at 16:47)</a>:</h4>
<p>no indeed</p>



<a name="155097188"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097188" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097188">(Jan 14 2019 at 16:47)</a>:</h4>
<p>you could basically just concatenate them <em>all</em></p>



<a name="155097198"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097198" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097198">(Jan 14 2019 at 16:47)</a>:</h4>
<p>(and all the resulting bindings too)</p>



<a name="155097249"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097249" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097249">(Jan 14 2019 at 16:48)</a>:</h4>
<p>(there are some special-case diagnostics that may want to be careful about)</p>



<a name="155097252"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097252" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097252">(Jan 14 2019 at 16:48)</a>:</h4>
<p>I think that's the way to go actually.</p>



<a name="155097254"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097254" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097254">(Jan 14 2019 at 16:48)</a>:</h4>
<p>yes</p>



<a name="155097257"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097257" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097257">(Jan 14 2019 at 16:48)</a>:</h4>
<p>I agree</p>



<a name="155097259"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097259" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097259">(Jan 14 2019 at 16:48)</a>:</h4>
<p>for duplicate bindings</p>



<a name="155097262"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097262" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097262">(Jan 14 2019 at 16:48)</a>:</h4>
<p>we want proper error messages</p>



<a name="155097274"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097274" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097274">(Jan 14 2019 at 16:48)</a>:</h4>
<p>no silent overridings</p>



<a name="155097276"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097276" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097276">(Jan 14 2019 at 16:48)</a>:</h4>
<p>let me see what errors I was thinking of</p>



<a name="155097294"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097294" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097294">(Jan 14 2019 at 16:48)</a>:</h4>
<p>should we move on though? I'm kind of worried about time heh.</p>



<a name="155097296"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097296" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097296">(Jan 14 2019 at 16:48)</a>:</h4>
<p>(sorry)</p>



<a name="155097338"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097338" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097338">(Jan 14 2019 at 16:49)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/blob/d10680818b2a0aabb76e6a07098e031b31707fcc/src/librustc_typeck/astconv.rs#L1074-L1084" target="_blank" title="https://github.com/rust-lang/rust/blob/d10680818b2a0aabb76e6a07098e031b31707fcc/src/librustc_typeck/astconv.rs#L1074-L1084">this stuff</a></p>



<a name="155097423"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097423" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097423">(Jan 14 2019 at 16:50)</a>:</h4>
<p>we can move on. The question that remains for me is whether you want to implement this particular change or if you'd prefer for me to finish that rebase. If you're just sick of it I can do so =)</p>



<a name="155097451"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097451" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097451">(Jan 14 2019 at 16:50)</a>:</h4>
<p>What would you like to discuss next? :)</p>



<a name="155097458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097458">(Jan 14 2019 at 16:50)</a>:</h4>
<p>they're both pretty closely related no? you could do them in the same PR? unless I'm thinking of something else</p>



<a name="155097465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097465">(Jan 14 2019 at 16:50)</a>:</h4>
<p>maybe briefly associated_type_bindings...</p>



<a name="155097491"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097491" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097491">(Jan 14 2019 at 16:51)</a>:</h4>
<p>OK</p>



<a name="155097494"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097494" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097494">(Jan 14 2019 at 16:51)</a>:</h4>
<p>Remind me the PR?</p>



<a name="155097571"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097571" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097571">(Jan 14 2019 at 16:52)</a>:</h4>
<p>so, I get a cyclic dependency error</p>



<a name="155097572"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097572" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097572">(Jan 14 2019 at 16:52)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/pull/57428" target="_blank" title="https://github.com/rust-lang/rust/pull/57428">https://github.com/rust-lang/rust/pull/57428</a></p>



<a name="155097586"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097586" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097586">(Jan 14 2019 at 16:52)</a>:</h4>
<p>I've done a lot more debugging since</p>



<a name="155097606"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097606" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097606">(Jan 14 2019 at 16:52)</a>:</h4>
<p>(is the current state of the PR still "up to date"?)</p>



<a name="155097611"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097611" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097611">(Jan 14 2019 at 16:52)</a>:</h4>
<p>i.e., if I were to pull it and build it</p>



<a name="155097649"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097649" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097649">(Jan 14 2019 at 16:53)</a>:</h4>
<p>yeah I think so</p>



<a name="155097653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097653">(Jan 14 2019 at 16:53)</a>:</h4>
<p>or very nearly</p>



<a name="155097658"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097658" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097658">(Jan 14 2019 at 16:53)</a>:</h4>
<p><a href="https://gist.github.com/b7f24166722b4e6a32f4aecf1cd4e6dc" target="_blank" title="https://gist.github.com/b7f24166722b4e6a32f4aecf1cd4e6dc">https://gist.github.com/b7f24166722b4e6a32f4aecf1cd4e6dc</a></p>



<a name="155097663"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097663" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097663">(Jan 14 2019 at 16:53)</a>:</h4>
<p>so, I thought this was due to just debug statements initially</p>



<a name="155097668"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097668" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097668">(Jan 14 2019 at 16:53)</a>:</h4>
<p>it still may be...</p>



<a name="155097747"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097747" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097747">(Jan 14 2019 at 16:54)</a>:</h4>
<p>hmm OK</p>



<a name="155097758"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097758" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097758">(Jan 14 2019 at 16:54)</a>:</h4>
<p>but fundamentally I've determined the problem is <code>find_existential_constraints</code> isn't be called on the generated <code>existential type</code> HIR item</p>



<a name="155097770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097770">(Jan 14 2019 at 16:54)</a>:</h4>
<p>because <code>convert_item</code> isn't even being called on it</p>



<a name="155097820"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097820" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097820">(Jan 14 2019 at 16:55)</a>:</h4>
<p>I'm not sure if the issue is really because we the type definition for the generated <code>existential type</code> gets embedded in the user-written one.</p>



<a name="155097836"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097836" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097836">(Jan 14 2019 at 16:55)</a>:</h4>
<p>or if that can be worked around.</p>



<a name="155097928"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097928" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097928">(Jan 14 2019 at 16:56)</a>:</h4>
<p>the problem may be:</p>
<div class="codehilite"><pre><span></span><span class="w">        </span><span class="c1">// Desugared from `impl Trait`, so visited by the function&#39;s return type.</span>
<span class="w">        </span><span class="n">hir</span>::<span class="n">ItemKind</span>::<span class="n">Existential</span><span class="p">(</span><span class="n">hir</span>::<span class="n">ExistTy</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">            </span><span class="n">impl_trait_fn</span>: <span class="nb">Some</span><span class="p">(</span><span class="n">_</span><span class="p">),</span><span class="w"></span>
<span class="w">            </span><span class="p">..</span><span class="w"></span>
<span class="w">        </span><span class="p">})</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="p">{}</span><span class="w"></span>
</pre></div>



<a name="155097935"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097935" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097935">(Jan 14 2019 at 16:56)</a>:</h4>
<p>is this somehow specific to <code>existential type</code>?</p>



<a name="155097954"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097954" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097954">(Jan 14 2019 at 16:56)</a>:</h4>
<p>that I'm reusing this functionality for something other than RPIT</p>



<a name="155097972"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097972" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097972">(Jan 14 2019 at 16:57)</a>:</h4>
<p>(RPIT = return position impl trait)</p>



<a name="155097978"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155097978" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155097978">(Jan 14 2019 at 16:57)</a>:</h4>
<p>i.e. you don't just get this when desugaring from RPIT</p>



<a name="155098005"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098005" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098005">(Jan 14 2019 at 16:57)</a>:</h4>
<p>(for those who don't have Varkor Initialism Syndrome...)</p>



<a name="155098008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098008">(Jan 14 2019 at 16:57)</a>:</h4>
<p>Yes, OK, I'm seeing now</p>



<a name="155098095"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098095" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098095">(Jan 14 2019 at 16:58)</a>:</h4>
<p>If you write it as <code>Foo = impl Trait</code>, though, it works?</p>



<a name="155098099"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098099" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098099">(Jan 14 2019 at 16:58)</a>:</h4>
<p>but maybe not? since <code>impl_trait_fn</code> should be <code>None</code> there... hmm</p>



<a name="155098108"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098108" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098108">(Jan 14 2019 at 16:58)</a>:</h4>
<p>let me see</p>



<a name="155098119"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098119" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098119">(Jan 14 2019 at 16:58)</a>:</h4>
<p>Also, which is the example that is failing?</p>



<a name="155098138"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098138" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098138">(Jan 14 2019 at 16:58)</a>:</h4>
<p><code>existential type Bar: Debug + TraitB&lt;AssocB = impl Send&gt;;</code> or equivalently <code>existential type Bar: Debug + TraitB&lt;AssocB: Send&gt;;</code></p>



<a name="155098193"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098193" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098193">(Jan 14 2019 at 16:59)</a>:</h4>
<p>do you have a test case committed?</p>



<a name="155098200"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098200" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098200">(Jan 14 2019 at 17:00)</a>:</h4>
<p>if not, can you do so?</p>



<a name="155098237"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098237" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098237">(Jan 14 2019 at 17:00)</a>:</h4>
<p>also, does this feature work in some other context?</p>



<a name="155098278"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098278" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098278">(Jan 14 2019 at 17:00)</a>:</h4>
<p>e.g., does this example from the RFC work</p>
<div class="codehilite"><pre><span></span><span class="k">fn</span> <span class="nf">print_all</span><span class="o">&lt;</span><span class="n">T</span>: <span class="nb">Iterator</span><span class="o">&lt;</span><span class="n">Item</span>: <span class="nc">Display</span><span class="o">&gt;&gt;</span><span class="p">(</span><span class="n">printables</span>: <span class="nc">T</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">for</span><span class="w"> </span><span class="n">p</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">printables</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="n">println</span><span class="o">!</span><span class="p">(</span><span class="s">&quot;{}&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">p</span><span class="p">);</span><span class="w"></span>
<span class="w">    </span><span class="p">}</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>



<a name="155098300"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098300" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098300">(Jan 14 2019 at 17:00)</a>:</h4>
<p>yeah, kind of... but it's only vaguely related (since this desugars to APIT, not RPIT):</p>
<div class="codehilite"><pre><span></span><span class="k">fn</span> <span class="nf">print_all</span><span class="o">&lt;</span><span class="n">T</span>: <span class="nb">IntoIterator</span><span class="o">&lt;</span><span class="n">Item</span>: <span class="nc">Display</span><span class="o">&gt;&gt;</span><span class="p">(</span><span class="n">printables</span>: <span class="nc">T</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">for</span><span class="w"> </span><span class="n">p</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">printables</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="n">println</span><span class="o">!</span><span class="p">(</span><span class="s">&quot;{}&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">p</span><span class="p">);</span><span class="w"></span>
<span class="w">    </span><span class="p">}</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>



<a name="155098321"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098321" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098321">(Jan 14 2019 at 17:01)</a>:</h4>
<p>^^</p>



<a name="155098332"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098332" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098332">(Jan 14 2019 at 17:01)</a>:</h4>
<p>that works yep</p>



<a name="155098338"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098338" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098338">(Jan 14 2019 at 17:01)</a>:</h4>
<p>and something like <code>fn get_items() -&gt; impl IntoIterator&lt;Item: Display&gt;</code> ?</p>



<a name="155098366"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098366" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098366">(Jan 14 2019 at 17:01)</a>:</h4>
<p>incidentally my attempts to build the branch fail:</p>
<div class="codehilite"><pre><span></span>error[E0425]: cannot find value `DUMMY_SP` in this scope
    --&gt; src/librustc/hir/lowering.rs:1126:21
     |
1126 |                     DUMMY_SP);
     |                     ^^^^^^^^ not found in this scope
help: possible candidates are found in other modules, you can import them into scope
     |
33   | use syntax::ext::quote::rt::DUMMY_SP;
     |
33   | use syntax::source_map::DUMMY_SP;
     |
33   | use syntax_pos::DUMMY_SP;
</pre></div>



<a name="155098414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098414">(Jan 14 2019 at 17:02)</a>:</h4>
<p>hmm</p>



<a name="155098424"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098424" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098424">(Jan 14 2019 at 17:02)</a>:</h4>
<p>probably a bad rebase sorry</p>



<a name="155098432"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098432" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098432">(Jan 14 2019 at 17:02)</a>:</h4>
<p>(obviously I can fix that particular problem)</p>



<a name="155098435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098435">(Jan 14 2019 at 17:02)</a>:</h4>
<p>just missing the import I suspect</p>



<a name="155098440"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098440" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098440">(Jan 14 2019 at 17:02)</a>:</h4>
<p>right, I already added it</p>



<a name="155098445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098445">(Jan 14 2019 at 17:02)</a>:</h4>
<p>I was just saying in case there are missing commits :)</p>



<a name="155098474"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098474" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098474">(Jan 14 2019 at 17:03)</a>:</h4>
<p>sure :-)</p>



<a name="155098555"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098555" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098555">(Jan 14 2019 at 17:04)</a>:</h4>
<p>OK, so, I have to do another call now, but I've got a build going, and I'll get back to you in a bit</p>



<a name="155098556"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098556" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098556">(Jan 14 2019 at 17:04)</a>:</h4>
<p>=)</p>



<a name="155098557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098557">(Jan 14 2019 at 17:04)</a>:</h4>
<p>next problem:</p>
<div class="codehilite"><pre><span></span>error: unused variable: `owner`
    --&gt; src/librustc/hir/lowering.rs:1356:13
     |
1356 |         let owner = explicit_owner.unwrap_or(exist_ty_node_id);
     |             ^^^^^ help: consider using `_owner` instead
     |
     = note: `-D unused-variables` implied by `-D warnings`
</pre></div>



<a name="155098569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098569">(Jan 14 2019 at 17:04)</a>:</h4>
<p>okay no problem</p>



<a name="155098581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098581">(Jan 14 2019 at 17:04)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> can I ping you later with some other things?</p>



<a name="155098598"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098598" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098598">(Jan 14 2019 at 17:04)</a>:</h4>
<p>of course</p>



<a name="155098602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098602">(Jan 14 2019 at 17:04)</a>:</h4>
<p>ta</p>



<a name="155098636"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098636" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098636">(Jan 14 2019 at 17:05)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> multi-trait objects can wait, but I'd really like to set up a meeting with you, dhardy, and the other guy who expressed an interest in them on GH (I forget who)</p>



<a name="155098702"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098702" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098702">(Jan 14 2019 at 17:06)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I will get back to work on impl-trait-in-bindings when I can too, but obviously once you get around to collating all your notes from all over the place, that will be super helpful.</p>



<a name="155098918"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155098918" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155098918">(Jan 14 2019 at 17:08)</a>:</h4>
<p>anyway, thanks for your time.</p>



<a name="155099538"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155099538" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155099538">(Jan 14 2019 at 17:16)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> slightly unrelated... one thing I discussed recently with Taylor was that we might want to require a set of tests upfront for lang RFCs</p>



<a name="155099562"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155099562" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155099562">(Jan 14 2019 at 17:17)</a>:</h4>
<p>so it is clearer what the semantics are for the team and for implementors</p>



<a name="155099590"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155099590" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155099590">(Jan 14 2019 at 17:17)</a>:</h4>
<p>for now, I'll try to write up some tests today; I'm also working on the associated type defaults RFC and simplifying it</p>



<a name="155103147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155103147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155103147">(Jan 14 2019 at 18:06)</a>:</h4>
<p>So, I think that embedding the generated type with the binding for the existing existential  type is going to always lead to problems... unless I'm mistaken?</p>



<a name="155104847"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155104847" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155104847">(Jan 14 2019 at 18:30)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> ^</p>



<a name="155104871"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155104871" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155104871">(Jan 14 2019 at 18:31)</a>:</h4>
<p>alternatively, I generate the type elsewhere in the HIR tree, and refer to it by Path</p>



<a name="155105710"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155105710" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155105710">(Jan 14 2019 at 18:41)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> there seems to be an error <em>before</em> defining uses are checked, in fact: <a href="https://gist.github.com/6549d576e7dc98c4520bf519f32e6a9e" target="_blank" title="https://gist.github.com/6549d576e7dc98c4520bf519f32e6a9e">https://gist.github.com/6549d576e7dc98c4520bf519f32e6a9e</a></p>



<a name="155354647"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/155354647" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#155354647">(Jan 17 2019 at 17:52)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> around now by chance?</p>



<a name="156547045"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/156547045" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#156547045">(Jan 21 2019 at 16:33)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> hi</p>



<a name="156547640"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/156547640" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#156547640">(Jan 21 2019 at 16:42)</a>:</h4>
<p>you there?</p>



<a name="156548184"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/156548184" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#156548184">(Jan 21 2019 at 16:52)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> okay, this will have to be another time!</p>



<a name="156555698"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/156555698" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Taylor Cramer <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#156555698">(Jan 21 2019 at 19:07)</a>:</h4>
<p><span class="user-mention" data-user-id="124069">@Alexander Regueiro</span> It's a holiday in the US (MLK day)</p>



<a name="156622738"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/156622738" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#156622738">(Jan 22 2019 at 17:33)</a>:</h4>
<p>sorry <span class="user-mention" data-user-id="124069">@Alexander Regueiro</span> was AFK yeah</p>



<a name="156622743"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/156622743" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#156622743">(Jan 22 2019 at 17:33)</a>:</h4>
<p>should have mentioned it to you</p>



<a name="160325721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/160325721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#160325721">(Mar 08 2019 at 21:07)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> BTW, let's find time soon (first half of next week if possible?) to go over.<br>
1. banning multi-trait objects via trait aliases, which is already implemented in my PR, but you were going to factor out...<br>
2. extending the import system to get make methods on trait aliases and enum type aliases available. (feel free to point me to another compiler team member for this, if they're better-suited.)<br>
3. talk about the existential lifetime issues and how to fix them (I may have a go at that anyway over the weekend if I have time, but definitely worth a chat).</p>



<a name="160334083"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/alexreg%20-%20nmatsakis%20sync/near/160334083" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/alexreg.20-.20nmatsakis.20sync.html#160334083">(Mar 08 2019 at 22:54)</a>:</h4>
<p>4. collate notes/plans on impl-trait-in-bindings (but this can wait a bit still)</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>